// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.loopj.android.http; import android.util.Log; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Random; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.message.BasicHeader; // Referenced classes of package com.loopj.android.http: // ResponseHandlerInterface, B, AsyncHttpClient class A implements HttpEntity { private static final String a = "SimpleMultipartEntity"; private static final String b = "\r\n"; private static final byte c[] = "\r\n".getBytes(); private static final byte d[] = "Content-Transfer-Encoding: binary\r\n".getBytes(); private static final char e[] = "-_1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray(); private final String f; private final byte g[]; private final byte h[]; private boolean i; private final List j = new ArrayList(); private final ByteArrayOutputStream k = new ByteArrayOutputStream(); private final ResponseHandlerInterface l; private int m; private int n; public A(ResponseHandlerInterface responsehandlerinterface) { StringBuilder stringbuilder = new StringBuilder(); Random random = new Random(); for (int i1 = 0; i1 < 30; i1++) { stringbuilder.append(e[random.nextInt(e.length)]); } f = stringbuilder.toString(); g = (new StringBuilder()).append("--").append(f).append("\r\n").toString().getBytes(); h = (new StringBuilder()).append("--").append(f).append("--").append("\r\n").toString().getBytes(); l = responsehandlerinterface; } private String a(String s) { if (s == null) { s = "application/octet-stream"; } return s; } private void a(int i1) { m = i1 + m; l.sendProgressMessage(m, n); } static void a(A a1, int i1) { a1.a(i1); } static byte[] a() { return d; } static byte[] a(A a1) { return a1.g; } static byte[] a(A a1, String s) { return a1.b(s); } static byte[] a(A a1, String s, String s1) { return a1.b(s, s1); } static byte[] b() { return c; } private byte[] b(String s) { return (new StringBuilder()).append("Content-Type: ").append(a(s)).append("\r\n").toString().getBytes(); } private byte[] b(String s, String s1) { return (new StringBuilder()).append("Content-Disposition: form-data; name=\"").append(s).append("\"; filename=\"").append(s1).append("\"").append("\r\n").toString().getBytes(); } private byte[] c(String s) { return (new StringBuilder()).append("Content-Disposition: form-data; name=\"").append(s).append("\"").append("\r\n").toString().getBytes(); } public void a(String s, File file) { a(s, file, null); } public void a(String s, File file, String s1) { j.add(new B(this, s, file, a(s1))); } public void a(String s, String s1) { a(s, s1, "text/plain; charset=UTF-8"); } public void a(String s, String s1, InputStream inputstream, String s2) { k.write(g); k.write(b(s, s1)); k.write(b(s2)); k.write(d); k.write(c); byte abyte0[] = new byte[4096]; do { int i1 = inputstream.read(abyte0); if (i1 != -1) { k.write(abyte0, 0, i1); } else { k.write(c); k.flush(); AsyncHttpClient.silentCloseOutputStream(k); return; } } while (true); } public void a(String s, String s1, String s2) { try { k.write(g); k.write(c(s)); k.write(b(s2)); k.write(c); k.write(s1.getBytes()); k.write(c); return; } catch (IOException ioexception) { Log.e("SimpleMultipartEntity", "addPart ByteArrayOutputStream exception", ioexception); } } public void a(boolean flag) { i = flag; } public void consumeContent() { if (isStreaming()) { throw new UnsupportedOperationException("Streaming entity does not implement #consumeContent()"); } else { return; } } public InputStream getContent() { throw new UnsupportedOperationException("getContent() is not supported. Use writeTo() instead."); } public Header getContentEncoding() { return null; } public long getContentLength() { long l1 = k.size(); Iterator iterator = j.iterator(); long l2; long l3; for (l2 = l1; iterator.hasNext(); l2 += l3) { l3 = ((B)iterator.next()).a(); if (l3 < 0L) { return -1L; } } return l2 + (long)h.length; } public Header getContentType() { return new BasicHeader("Content-Type", (new StringBuilder()).append("multipart/form-data; boundary=").append(f).toString()); } public boolean isChunked() { return false; } public boolean isRepeatable() { return i; } public boolean isStreaming() { return false; } public void writeTo(OutputStream outputstream) { m = 0; n = (int)getContentLength(); k.writeTo(outputstream); a(k.size()); for (Iterator iterator = j.iterator(); iterator.hasNext(); ((B)iterator.next()).a(outputstream)) { } outputstream.write(h); a(h.length); } }